/*********************************************************************
	Rhapsody	: 7.6.1 
	Login		: jlor
	Component	: DefaultComponent 
	Configuration 	: CodeConfig
	Model Element	: EventHandler
//!	Generated Date	: Fri, 7, Sep 2012  
	File Path	: DefaultComponent\CodeConfig\EventHandler.h
*********************************************************************/

#ifndef EventHandler_H
#define EventHandler_H

//#[ ignore
#ifdef _MSC_VER
// disable Microsoft compiler warning (debug information truncated)
#pragma warning(disable: 4786)
#endif
//#]

//## auto_generated
#include <oxf.h>
//## auto_generated
#include <string>
//## auto_generated
#include <algorithm>
//## auto_generated
#include "Windows.h"
//## auto_generated
#include "Default.h"
//## operation getHandle() const
class EHANDLE;

//## link itsReactor
class Reactor;

//## package Default

//## class EventHandler
class EventHandler {
    ////    Constructors and destructors    ////
    
public :

    //## auto_generated
    EventHandler();
    
    //## auto_generated
    virtual ~EventHandler();
    
    ////    Operations    ////
    
    //## operation getHandle() const
    virtual EHANDLE* getHandle() const;
    
    //## operation handleAlarm(EHANDLE)
    virtual void handleAlarm(EHANDLE& handle) = 0;
    
    //## operation handleLog(EHANDLE)
    virtual void handleLog(EHANDLE& handle) = 0;
    
    //## operation handlePatient(EHANDLE)
    virtual void handlePatient(EHANDLE& handle) = 0;

protected :

    //## operation createHandle()
    void createHandle();
    
    ////    Additional operations    ////

public :

    //## auto_generated
    EHANDLE* getItsEHANDLE() const;
    
    //## auto_generated
    Reactor* getItsReactor() const;

protected :

    //## auto_generated
    void cleanUpRelations();
    
    ////    Relations and components    ////
    
    EHANDLE* itsEHANDLE;		//## link itsEHANDLE
    
    Reactor* itsReactor;		//## link itsReactor
    
    ////    Framework operations    ////

public :

    //## auto_generated
    void __setItsReactor(Reactor* p_Reactor);
    
    //## auto_generated
    void _setItsReactor(Reactor* p_Reactor);
    
    //## auto_generated
    void _clearItsReactor();

private :

    //## auto_generated
    void setEventType(Event_Type p_eventType);

protected :

    Event_Type eventType;		//## attribute eventType
};

#endif
/*********************************************************************
	File Path	: DefaultComponent\CodeConfig\EventHandler.h
*********************************************************************/
